package hxy.bytecode.baidu;

import com.alibaba.fastjson.JSONObject;

import java.util.Set;

/**
 * @author eric
 * @date 2021/1/21
 */
public class JsonProcess {
    public static void main(String[] args) {
        // json数据
        String originalString = "{\"aBc\":\"value\",\"aAa\":\"{\"aAa\":\"value\"}\"}";
        JSONObject parse = JSONObject.parseObject(originalString);
        Set<String> strings = parse.keySet();
//        递归？ 有点类似N叉树的遍历。
//        parse.getJSONObject()


    }

    private static String transferString(JSONObject parse) {
        // 获取 parse 的key，遍历。 转换key ， 如果value是JsonObject，那么继续调用这个方法，以此递归。
        // 递归重点是边界，判断传来的参数是否为空，如果为空就返回。
        if (parse == null && parse.isEmpty()) {
            return "";
        }
        Set<String> jsonKeys = parse.keySet();
        for (String key : jsonKeys) {
            Object subObject = parse.get(key);
            String s = null;
            if (subObject instanceof JSONObject) {
                 s = transferString((JSONObject) subObject);
            }
            parse.remove(key);
            key = transfer(key);
            parse.put(key, s);

        }

        return parse.toJSONString();
    }


    private static String transfer(String original) {
        return "转换函数";
    }
}
